﻿
namespace MyLiveMesh.Web.Models
{
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.ComponentModel.DataAnnotations;
    using System.Data.Objects.DataClasses;
    using System.Linq;
    using System.ServiceModel.DomainServices.Hosting;
    using System.ServiceModel.DomainServices.Server;


    // The MetadataTypeAttribute identifies FilesMetadata as the class
    // that carries additional metadata for the Files class.
    [MetadataTypeAttribute(typeof(Files.FilesMetadata))]
    public partial class Files
    {

        // This class allows you to attach custom attributes to properties
        // of the Files class.
        //
        // For example, the following marks the Xyz property as a
        // required property and specifies the format for valid values:
        //    [Required]
        //    [RegularExpression("[A-Z][A-Za-z0-9]*")]
        //    [StringLength(32)]
        //    public string Xyz { get; set; }
        internal sealed class FilesMetadata
        {

            // Metadata classes are not meant to be instantiated.
            private FilesMetadata()
            {
            }

            public Guid FileId { get; set; }

            public EntityCollection<Files> Files1 { get; set; }

            public Files Files2 { get; set; }

            public EntityCollection<FilesRights> FilesRights { get; set; }

            public string Name { get; set; }

            public Nullable<Guid> ParentId { get; set; }

            public string Path { get; set; }

            public Nullable<int> Type { get; set; }

            public Guid UserId { get; set; }
        }
    }

    // The MetadataTypeAttribute identifies FilesRightsMetadata as the class
    // that carries additional metadata for the FilesRights class.
    [MetadataTypeAttribute(typeof(FilesRights.FilesRightsMetadata))]
    public partial class FilesRights
    {

        // This class allows you to attach custom attributes to properties
        // of the FilesRights class.
        //
        // For example, the following marks the Xyz property as a
        // required property and specifies the format for valid values:
        //    [Required]
        //    [RegularExpression("[A-Z][A-Za-z0-9]*")]
        //    [StringLength(32)]
        //    public string Xyz { get; set; }
        internal sealed class FilesRightsMetadata
        {

            // Metadata classes are not meant to be instantiated.
            private FilesRightsMetadata()
            {
            }

            public Guid FileId { get; set; }

            public Files Files { get; set; }

            public Nullable<byte> Rd { get; set; }

            public Guid UserId { get; set; }

            public Nullable<byte> Wr { get; set; }

            public Nullable<byte> X { get; set; }
        }
    }

    // The MetadataTypeAttribute identifies FriendsMetadata as the class
    // that carries additional metadata for the Friends class.
    [MetadataTypeAttribute(typeof(Friends.FriendsMetadata))]
    public partial class Friends
    {

        // This class allows you to attach custom attributes to properties
        // of the Friends class.
        //
        // For example, the following marks the Xyz property as a
        // required property and specifies the format for valid values:
        //    [Required]
        //    [RegularExpression("[A-Z][A-Za-z0-9]*")]
        //    [StringLength(32)]
        //    public string Xyz { get; set; }
        internal sealed class FriendsMetadata
        {

            // Metadata classes are not meant to be instantiated.
            private FriendsMetadata()
            {
            }

            public Guid FriendId { get; set; }

            public Guid UserId { get; set; }
        }
    }
}
